import request from '@/utils/request';

/**
 * 获取栏目关联文章库列表
 * @param {number} params.columnId 栏目id
 * @param {number} params.articleType 文章类型：1 平台文章， 2 外部链接
 * @param {string} params.keywords 自定义筛选项
 * @param {number} params.type 类型：1菜单帮助，2帮助中心,3公告
 * @param {number} params.page 当前页码
 * @param {number} params.limit 每页数量
 **/
export async function apiGetArticleColList(params) {
  return request.get('/plusadmin/article/list', {
    params,
  });
}

/**
 * 获取文章库列表（公共接口(未关联文章)）
 * @param {number} params.articleType 文章类型：1 平台文章， 2 外部链接
 * @param {number} params.labelId 标签id
 * @param {number} params.page 当前页码
 * @param {number} params.limit 每页数量
 **/
export async function apiGetArticleList(params) {
  return request.get('/plusadmin/common/articleList', {
    params,
  });
}

/**
 * 删除文章库
 * @param {string} params.ids 文章id，由','分隔
 **/
export async function apiDelArticle(params) {
  return request.get('/plusadmin/article/delete', {
    params,
  });
}

/**
 * 获取文章库详情
 * @param {number} params.id 文章id
 **/
export async function apiGetArticleDetail(params) {
  return request.get('/plusadmin/article/info', {
    params,
  });
}

/**
 * 添加文章
 * @param {string} data.articleInfo 文章内容
 * @param {string} data.articleName 文章标题
 * @param {number} data.articleType 文章类型：1 平台文章， 2 外部链接
 * @param {string} data.describeInfo 内容描述
 * @param {string} data.externalLink 外部链接
 * @param {string} data.labelIds 标签ID，用','分隔
 **/
export async function apiAddArticle(data) {
  return request.post('/plusadmin/article/save', data);
}

/**
 * 文章编辑
 * @param {string} data.articleInfo 文章内容
 * @param {string} data.articleName 文章标题
 * @param {number} data.articleType 文章类型：1 平台文章， 2 外部链接
 * @param {string} data.describeInfo 内容描述
 * @param {string} data.externalLink 外部链接
 * @param {string} data.labelIds 标签ID，用','分隔
 * @param {number} data.id 文章id
 **/
export async function apiEditArticle(data) {
  return request.post('/plusadmin/article/update', data);
}

/**
 * 根据文章id获取关联栏目列表
 * @param {number} params.articleId 文章ID
 * @param {number} params.type 类型：1菜单帮助，2帮助中心,3公告
 **/
export async function apiGetArticleLinkCol(params) {
  return request.get('/plusadmin/articlecolumn/info', { params });
}

/**
 * 文章解除关联
 * @param {number} data.articleId 文章ID
 * @param {number} data.columnId 栏目ID
 * @param {number} data.type 类型：1菜单帮助，2帮助中心,3公告
 **/
export async function apiDissociated(data) {
  return request.post('/plusadmin/articlecolumn/delete', data);
}

/**
 * 关联文章
 * @param {string} data.articleIds 文章ID，用','分隔
 * @param {string} data.columnIds 栏目ID，用','分隔
 * @param {number} data.type 类型：1菜单帮助，2帮助中心，3公告
 **/
export async function apiAddRelationdArticle(data) {
  return request.post('/plusadmin/articlecolumn/save', data);
}

/**
 * 编辑关联文章排序
 * @param {number} data.articleId 文章ID
 * @param {number} data.columnId 栏目ID
 * @param {number} data.type 类型：1菜单帮助，2帮助中心，3公告
 * @param {number} data.sequence 排序数字
 **/
export async function apiEditRelationdArticle(data) {
  return request.post('/plusadmin/articlecolumn/update', data);
}

/**
 * 关联文章转移
 * @param {number} data.articleId 文章ID
 * @param {number} data.columnId 栏目ID
 * @param {number} data.newColumnId 新栏目ID
 * @param {number} data.type 类型：1菜单帮助，2帮助中心，3公告
 **/
export async function apiEditArticleTransfer(data) {
  return request.post('/plusadmin/articlecolumn/transfer', data);
}

/**
 * 栏目添加
 * @param {number} data.columnName 栏目名称
 * @param {number} data.columnType 栏目标识：1 帮助中心，2 公告
 * @param {number} data.parentId 父栏目ID
 * @param {number} data.type 类型：1菜单帮助，2帮助中心，3公告
 **/
export async function apiAddColumn(data) {
  return request.post('/plusadmin/column/save', data);
}

/**
 * 栏目编辑
 * @param {number} data.columnId 栏目ID
 * @param {number} data.columnName 栏目名称
 * @param {number} data.columnType 栏目标识：1 帮助中心，2 公告
 * @param {number} data.parentId 父栏目ID
 * @param {number} data.type 类型：1菜单帮助，2帮助中心，3公告
 **/
export async function apiEditColumn(data) {
  return request.post('/plusadmin/column/update', data);
}

/**
 * 栏目编辑状态
 * @param {number} data.columnId 栏目ID
 * @param {number} data.status 栏目状态：1 隐藏， 2 显示
 * @param {number} data.type 类型：1菜单帮助，2帮助中心，3公告
 **/
export async function apiEditColumnStatus(data) {
  return request.post('/plusadmin/column/updateStatus', data);
}

/**
 * 删除栏目
 * @param {number} data.columnId 栏目ID
 * @param {number} data.type 类型：1菜单帮助，2帮助中心，3公告
 **/
export async function apiDelColumn(data) {
  return request.post('/plusadmin/column/delete', data);
}

/**
 * 删除文章标签
 * @param {number} params.id 标签ID
 **/
export async function apiDelArticleTag(params) {
  return request.get('/plusadmin/label/delete', { params });
}

/**
 * 查看文章标签详情
 * @param {number} params.id 标签ID
 **/
export async function apiGetArticleTag(params) {
  return request.get('/plusadmin/label/info', { params });
}

/**
 * 标签添加
 * @param {string} data.labelName 标签名称
 **/
export async function apiAddArticleTag(data) {
  return request.post('/plusadmin/label/save', data);
}

/**
 * 标签编辑
 * @param {number} data.id 标签ID
 * @param {string} data.labelName 标签名称
 **/
export async function apiEditArticleTag(data) {
  return request.post('/plusadmin/label/update', data);
}

/**
 * 帮助中心和公告列表
 * @param {number} params.type 类型：1帮助中心，2公告
 **/
export async function apiGetColumnList(params) {
  return request.get('/plusadmin/common/getColumnList', { params });
}

/**
 * 文章标签下拉列表
 * @param {number} params.keywords 名称筛选值
 **/
export async function apiGetArticleTagList(params) {
  return request.get('/plusadmin/common/getLabelList', { params });
}

/**
 * 获取菜单帮助栏目列表
 **/
export async function apiGetMenuHelpList() {
  return request.get('/plusadmin/common/getRightList');
}
